package ustc.xiaoyang.karl.hashtable;

import java.util.HashSet;
import java.util.Set;

/**
 * 202.快乐数 easy
 */
public class IsHappy202 {
    public static void main(String[] args) {
        System.out.println(isHappy(19));
    }
    public static boolean isHappy(int n) {
        //思路：判断每一次的数是否之前出现过，即是否成环，如果成环，则不是快乐数，如果过程中变为1，则是快乐数
        Set<Integer> set = new HashSet<>();

        while(true){
            if(n == 1) return true;
            if(set.contains(n)) return false;
            else set.add(n);
            int sum = 0;
            while(n != 0){
                int t = n%10;
                sum += t*t;
                n = n/10;

            }
            n = sum;

        }
    }
}
